\thispagestyle {empty}
\pagestyle {empty}
\contentsline {chapter}{\numberline {5}语法分析}{1}{chapter.5}%
\contentsline {section}{\numberline {5.1}语法分析的基本概念}{1}{section.5.1}%
\contentsline {section}{\numberline {5.2}递归子程序法}{3}{section.5.2}%
\contentsline {subsection}{\numberline {5.2.1}递归子程序法示例}{4}{subsection.5.2.1}%
\contentsline {subsection}{\numberline {5.2.2}递归子程序构造方法}{5}{subsection.5.2.2}%
\contentsline {subsection}{\numberline {5.2.3}递归子程序法适用范围}{7}{subsection.5.2.3}%
\contentsline {section}{\numberline {5.3}LL(1)文法定义}{8}{section.5.3}%
\contentsline {section}{\numberline {5.4}LL(1)分析法的完整流程}{10}{section.5.4}%
\contentsline {subsection}{\numberline {5.4.1}抽象的流程表示}{15}{subsection.5.4.1}%
\contentsline {section}{\numberline {5.5}LL(1)文法及其判定}{15}{section.5.5}%
\contentsline {subsection}{\numberline {5.5.1}首符号集合、后继符集合与选择符集合}{16}{subsection.5.5.1}%
\contentsline {subsection}{\numberline {5.5.2}LL(1)文法及其判定}{18}{subsection.5.5.2}%
\contentsline {section}{\numberline {5.6}LL(1)分析器设计(实现)}{19}{section.5.6}%
\contentsline {subsection}{\numberline {5.6.1}LL(1)分析表的构造}{19}{subsection.5.6.1}%
\contentsline {section}{\numberline {5.7}LR()分析法的介绍}{21}{section.5.7}%
\contentsline {subsection}{\numberline {5.7.1}LR()分析法的“统治地位”}{21}{subsection.5.7.1}%
\contentsline {subsection}{\numberline {5.7.2}LR()分析法的定义}{22}{subsection.5.7.2}%
\contentsline {subsubsection}{句柄识别器的构造}{24}{subsubsection*.24}%
\contentsline {section}{\numberline {5.8}LR(0)分析器设计}{25}{section.5.8}%
\contentsline {subsection}{\numberline {5.8.1}LR(0)文法及其判定}{26}{subsection.5.8.1}%
\contentsline {subsection}{\numberline {5.8.2}LR(0)分析表构造}{26}{subsection.5.8.2}%
\contentsline {subsection}{\numberline {5.8.3}LR(0)控制程序设计}{27}{subsection.5.8.3}%
\contentsline {section}{\numberline {5.9}项目集和可归约前缀图}{27}{section.5.9}%
\contentsline {subsection}{\numberline {5.9.1}扩展文法}{28}{subsection.5.9.1}%
\contentsline {subsection}{\numberline {5.9.2}由扩展文法构造可归约前缀图（句柄识别器）}{28}{subsection.5.9.2}%
\contentsline {subsection}{\numberline {5.9.3}由可归约前缀图构造LR(0)分析表}{29}{subsection.5.9.3}%
\contentsline {subsection}{\numberline {5.9.4}LR(0)分析法过程示例}{29}{subsection.5.9.4}%
\contentsline {subsection}{\numberline {5.9.5}LR(0)分析法实例}{30}{subsection.5.9.5}%
\contentsline {section}{\numberline {5.10}LR(0)分析法的扩展}{31}{section.5.10}%
\contentsline {section}{\numberline {5.11}SLR(1)分析法的扩展}{33}{section.5.11}%
\contentsline {subsection}{\numberline {5.11.1}扩展文法}{34}{subsection.5.11.1}%
\contentsline {subsection}{\numberline {5.11.2}构造可归约前缀图}{34}{subsection.5.11.2}%
\contentsline {section}{\numberline {5.12}简单优先分析法基本概念}{36}{section.5.12}%
\contentsline {subsection}{\numberline {5.12.1}什么是简单优先分析法}{36}{subsection.5.12.1}%
\contentsline {subsection}{\numberline {5.12.2}简单优先分析过程示例}{36}{subsection.5.12.2}%
\contentsline {subsection}{\numberline {5.12.3}文法符号之间的优先关系}{37}{subsection.5.12.3}%
\contentsline {subsubsection}{归约过程中如何确认句柄?}{37}{subsubsection*.56}%
\contentsline {subsubsection}{优先关系的定义}{39}{subsubsection*.65}%
\contentsline {subsubsection}{头符号集合和尾符号集合}{40}{subsubsection*.68}%
\contentsline {subsubsection}{求头符号和尾符号集合}{40}{subsubsection*.71}%
\contentsline {subsubsection}{优先矩阵}{40}{subsubsection*.73}%
\contentsline {section}{\numberline {5.13}简单优先分析器设计}{41}{section.5.13}%
\contentsline {subsection}{\numberline {5.13.1}简单优先文法及其判定}{42}{subsection.5.13.1}%
\contentsline {subsection}{\numberline {5.13.2}简单优先分析矩阵分析表构造}{42}{subsection.5.13.2}%
\contentsline {subsection}{\numberline {5.13.3}简单优先控制程序设计}{43}{subsection.5.13.3}%
\contentsline {section}{\numberline {5.14}算符优先分析}{43}{section.5.14}%
\contentsline {subsection}{\numberline {5.14.1}算符文法}{43}{subsection.5.14.1}%
\contentsline {subsection}{\numberline {5.14.2}头符号集合和尾符号集合}{44}{subsection.5.14.2}%
\contentsline {subsection}{\numberline {5.14.3}算符优先关系定义}{44}{subsection.5.14.3}%
\contentsline {subsection}{\numberline {5.14.4}算符优先文法}{44}{subsection.5.14.4}%
